package Enumerations;



import static org.junit.Assert.assertEquals;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class EnumerationMethodTests {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}
	
	@Test
	public final void getOppositeDirectionNord(){
		assertEquals(Directions.South, Directions.getOppositeDirection(Directions.North));
	}
	
	@Test
	public final void getOppositeDirectionEast(){
		assertEquals(Directions.West, Directions.getOppositeDirection(Directions.East));
	}
	
	@Test
	public final void getOppositeDirectionSouth(){
		assertEquals(Directions.North, Directions.getOppositeDirection(Directions.South));
	}
	
	@Test
	public final void getOppositeDirectionWest(){
		assertEquals(Directions.East, Directions.getOppositeDirection(Directions.West));
	}
	
	@Test
	public final void getOppositeDirectionFloor(){
		assertEquals(Directions.Ceiling, Directions.getOppositeDirection(Directions.Floor));
	}
	
	@Test
	public final void getOppositeDirectionCeiling(){
		assertEquals(Directions.Floor, Directions.getOppositeDirection(Directions.Ceiling));
	}
	
	@Test (expected = IllegalArgumentException.class)
	public final void getOppositeDirectionNull(){
		Directions.getOppositeDirection(null);
	}
	
	

}
